home *** CD-ROM | disk | FTP | other *** search
- Subject: Re: sending signals from xdd's
- Date: Tue, 19 Apr 94 19:13:16 CDT
- From: Juergen Lock <nox@jelal.north.de>
- In-Reply-To: <9404181313.AA15886@hera.rbi.informatik.uni-frankfurt.de>; from "Kay Roemer" at Apr 18, 94 3:13 pm
- Message-Id: <9404191713.AA00545@jelal.north.de>
-
- Kay Roemer writes:
-
- > While implementing TCP for MintNet, I came across the following
- > problem:
- >
- > TCP provides for delivery of out-of-band or urgent data. When
- > urgent data arrives on a socket, the process which is the owner
- > of the socket (this concept of the sockets owner is much like
- > the one used for terminals), must be signaled that urgent data
- > has arrived.
- >
- > Usually Unixes do this by
- > 1) sending this sockets owner a SIGURG signal and
- > 2) waking up any processes seleting for exceptional conditions
- > on this socket.
- >
- > The 2nd is impossible under MiNT, because Fselect() doesn't
- > currently support selecting for exceptional conditions.
-
- unless its the one that also gets the signal, then it should wake up
- because of that...
- >
- > The 1st would require a device driver to be able to send signals
- > to ANY process, even if the current process' effective UID is
- > not zero and different from the effective UID of the process that
- > should be signaled.
- >
- > Currently the only possibility I see to do the 1st is to fork a
- > new process (much like minixfs and modm0dev do) that is used to
- > send signals.
- >
- > Is there another way (without a different process) to signal
- > different processes from a device driver?
-
- addroottimeout?
- >
- > Perhaps (as Juergen suggested some time ago) post_sig() should be
- > made available for device drivers through struct kerinfo?
-
- hmm which one takes longer worst case, post_sig or addroottimeout?
- u know i'm thinking of ipl6 and receiver overruns again... :)
-
- cheers
- Juergen
- --
- J"urgen Lock / nox@jelal.north.de / UUCP: ..!uunet!unido!uniol!jelal!nox
- ...ohne Gewehr
- PGP public key fingerprint = 8A 18 58 54 03 7B FC 12 1F 8B 63 C7 19 27 CF DA
-